#ifndef GAMELOGIC_LEVEL_TILEMAP_H_
#define GAMELOGIC_LEVEL_TILEMAP_H_

#include "./Tile.h"

namespace GameLogic {
namespace Level {

class TileMap {
	const int width_;
	const int height_;
	const float tile_size_;

	Tile** tiles_;

public:

	TileMap( int width, int height, float tile_size );

	~TileMap();

	Tile* get( int x, int y ) {
		return tiles_[ x + (y * width_) ];
	}

	void set( int x, int y, Tile* tile ) {
		tiles_[ x + (y * width_) ] = tile;
	}

	void insert( int x, int y, Tile* t );

	float getTileSize() { return tile_size_; };

	int getWidth() { return width_; }

	int getHeight() { return height_; }

};

} //namespace Level
} //namespace GameLogic

#endif /* GAMELOGIC_LEVEL_TILEMAP_H_ */
